package ink.yql.model;

import java.io.Serializable;

/**
 * @author YQL
 */
public class LeaveaMessage implements Serializable {
    /**
     * 留言id
     */
    private Integer lid;
    /**
     * 留言用户id
     */
    private Integer luid;
    /**
     * 留言内容
     */
    private String lcontext;
    /**
     * 留言类型 0 项目 1 动态 2 留言',
     */
    private Integer ltype;
    /**
     * 留言目标id
     */
    private Integer otherid;
    /**
     * 留言时间
     */
    private String laddTime;

    public LeaveaMessage(Integer lid, Integer luid, String lcontext, Integer ltype, Integer otherid, String laddTime) {
        this.lid = lid;
        this.luid = luid;
        this.lcontext = lcontext;
        this.ltype = ltype;
        this.otherid = otherid;
        this.laddTime = laddTime;
    }

    public LeaveaMessage() {
    }

    public static LeaveaMessageBuilder builder() {
        return new LeaveaMessageBuilder();
    }

    public Integer getLid() {
        return this.lid;
    }

    public Integer getLuid() {
        return this.luid;
    }

    public String getLcontext() {
        return this.lcontext;
    }

    public Integer getLtype() {
        return this.ltype;
    }

    public Integer getOtherid() {
        return this.otherid;
    }

    public String getLaddTime() {
        return this.laddTime;
    }

    public void setLid(Integer lid) {
        this.lid = lid;
    }

    public void setLuid(Integer luid) {
        this.luid = luid;
    }

    public void setLcontext(String lcontext) {
        this.lcontext = lcontext;
    }

    public void setLtype(Integer ltype) {
        this.ltype = ltype;
    }

    public void setOtherid(Integer otherid) {
        this.otherid = otherid;
    }

    public void setLaddTime(String laddTime) {
        this.laddTime = laddTime;
    }

    public boolean equals(final Object o) {
        if (o == this) return true;
        if (!(o instanceof LeaveaMessage)) return false;
        final LeaveaMessage other = (LeaveaMessage) o;
        if (!other.canEqual((Object) this)) return false;
        final Object this$lid = this.getLid();
        final Object other$lid = other.getLid();
        if (this$lid == null ? other$lid != null : !this$lid.equals(other$lid)) return false;
        final Object this$luid = this.getLuid();
        final Object other$luid = other.getLuid();
        if (this$luid == null ? other$luid != null : !this$luid.equals(other$luid)) return false;
        final Object this$lcontext = this.getLcontext();
        final Object other$lcontext = other.getLcontext();
        if (this$lcontext == null ? other$lcontext != null : !this$lcontext.equals(other$lcontext)) return false;
        final Object this$ltype = this.getLtype();
        final Object other$ltype = other.getLtype();
        if (this$ltype == null ? other$ltype != null : !this$ltype.equals(other$ltype)) return false;
        final Object this$otherid = this.getOtherid();
        final Object other$otherid = other.getOtherid();
        if (this$otherid == null ? other$otherid != null : !this$otherid.equals(other$otherid)) return false;
        final Object this$laddTime = this.getLaddTime();
        final Object other$laddTime = other.getLaddTime();
        if (this$laddTime == null ? other$laddTime != null : !this$laddTime.equals(other$laddTime)) return false;
        return true;
    }

    protected boolean canEqual(final Object other) {
        return other instanceof LeaveaMessage;
    }

    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final Object $lid = this.getLid();
        result = result * PRIME + ($lid == null ? 43 : $lid.hashCode());
        final Object $luid = this.getLuid();
        result = result * PRIME + ($luid == null ? 43 : $luid.hashCode());
        final Object $lcontext = this.getLcontext();
        result = result * PRIME + ($lcontext == null ? 43 : $lcontext.hashCode());
        final Object $ltype = this.getLtype();
        result = result * PRIME + ($ltype == null ? 43 : $ltype.hashCode());
        final Object $otherid = this.getOtherid();
        result = result * PRIME + ($otherid == null ? 43 : $otherid.hashCode());
        final Object $laddTime = this.getLaddTime();
        result = result * PRIME + ($laddTime == null ? 43 : $laddTime.hashCode());
        return result;
    }

    public String toString() {
        return "LeaveaMessage(lid=" + this.getLid() + ", luid=" + this.getLuid() + ", lcontext=" + this.getLcontext() + ", ltype=" + this.getLtype() + ", otherid=" + this.getOtherid() + ", laddTime=" + this.getLaddTime() + ")";
    }

    public static class LeaveaMessageBuilder {
        private Integer lid;
        private Integer luid;
        private String lcontext;
        private Integer ltype;
        private Integer otherid;
        private String laddTime;

        LeaveaMessageBuilder() {
        }

        public LeaveaMessage.LeaveaMessageBuilder lid(Integer lid) {
            this.lid = lid;
            return this;
        }

        public LeaveaMessage.LeaveaMessageBuilder luid(Integer luid) {
            this.luid = luid;
            return this;
        }

        public LeaveaMessage.LeaveaMessageBuilder lcontext(String lcontext) {
            this.lcontext = lcontext;
            return this;
        }

        public LeaveaMessage.LeaveaMessageBuilder ltype(Integer ltype) {
            this.ltype = ltype;
            return this;
        }

        public LeaveaMessage.LeaveaMessageBuilder otherid(Integer otherid) {
            this.otherid = otherid;
            return this;
        }

        public LeaveaMessage.LeaveaMessageBuilder laddTime(String laddTime) {
            this.laddTime = laddTime;
            return this;
        }

        public LeaveaMessage build() {
            return new LeaveaMessage(lid, luid, lcontext, ltype, otherid, laddTime);
        }

        public String toString() {
            return "LeaveaMessage.LeaveaMessageBuilder(lid=" + this.lid + ", luid=" + this.luid + ", lcontext=" + this.lcontext + ", ltype=" + this.ltype + ", otherid=" + this.otherid + ", laddTime=" + this.laddTime + ")";
        }
    }
}
